package com.lune.blog.base.domain.system;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lune.blog.base.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * @author yanjizhw@163.com
 * @date 2021/10/12 13:23
 * @since 1.0.0
 * 描述 用户对象
 */
@Data
@TableName("sys_user")
@EqualsAndHashCode(callSuper = true)
public class SysUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户ID */
    @TableId
    private Long userId;

    /** 部门ID */
    private Long deptId;

    /** 用户账号 */
    @TableField(value = "user_name")
    private String username;

    /** 用户昵称 */
    private String nickName;

    /** 用户类型：00 系统用户 */
    private String userType;

    /** 用户邮箱 */
    private String email;

    /** 手机号码 */
    @TableField(value = "phonenumber")
    private String phoneNumber;

    /** 用户性别 */
    private String sex;

    /** 用户头像 */
    private String avatar;

    /** 密码 */
    private String password;

    /** 帐号状态（1正常 0停用） */
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    @TableLogic
    private String delFlag;

    /** 最后登录IP */
    private String loginIp;

    /** 最后登录时间 */
    private Date loginDate;

    public static boolean isAdmin(Long userId) {
        return userId != null && 1L == userId;
    }
}
